#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>

int main(int argc, char* argv[], char* env[])
{
    // 在程序中新增环境变量
    char* const myenv[] = {
        "MYVAL1 = 11111111",
        "MYVAL2 = 22222222",
        NULL
    };
    pid_t id = fork();
    if(id == 0)
    {
        // child
        // 进行进程替换
        execle("./mytest", "mytest", NULL, myenv);
    }
    else 
    {
        // parent
        // 对子进程回收
        pid_t rid = waitpid(-1, NULL, 0);
        if(rid > 0)
        {
            printf("wait success\n");
        }
    }
    return 0;
}


// int main()
// {
//     pid_t id = fork();
//     if(id == 0)
//     {
//         // child
//         // 进行进程替换
//         execlp("ls", "ls", "-a", "-l", "-d", NULL);
//     }
//     else 
//     {
//         // parent
//         // 对子进程回收
//         pid_t rid = waitpid(-1, NULL, 0);
//         if(rid > 0)
//         {
//             printf("wait success\n");
//         }
//     }
//     return 0;
// }
